package edu.fasta.sisinfo2.juegos;

import edu.fasta.sisinfo2.poker.Carta;

public class Trio implements Juego{

	Carta cartaUno = new Carta(0,0);
	Carta cartaDos = new Carta(0,0);
	Carta cartaTres = new Carta(0,0);
	
	
	public Trio(Carta cartaUno, Carta cartaDos, Carta cartaTres){
		this.setCartaUno(cartaUno);
		this.setCartaDos(cartaDos);
		this.setCartaTres(cartaTres);
	}
	
	public Juego compararJuego(EscaleraReal unaEscaleraReal){
		return unaEscaleraReal;
	}
	
	public Juego compararJuego(EscaleraColor unaEscaleraColor){
		return unaEscaleraColor;
	}
	
	public Juego compararJuego(Poker unPoker){
		return unPoker;
	}
	
	public Juego compararJuego(Full unFull){
		return unFull;
	}
	
	public Juego compararJuego(Color unColor) {
		return unColor;
	}
		
	public Juego compararJuego(Escalera unaEscalera){
		return unaEscalera;
	}
	
	public Juego compararJuego(Trio unTrio){
		
		if( (this.getCartaUno().getPuntaje() == 1) && (unTrio.getCartaUno().getPuntaje() != 1) ){
			return this;
		}else{
			if ( (this.getCartaUno().getPuntaje() != 1) && (unTrio.getCartaUno().getPuntaje() == 1) ){
				return unTrio;
			}else{
				if ( (this.getCartaUno().getPuntaje() == 1) && (unTrio.getCartaUno().getPuntaje() == 1) ){
					System.out.println("Trios empatados... A"); //ver carta alta
					return null; 
				}
			}
		}
				
		if( (this.getCartaUno().getPuntaje()) > (unTrio.getCartaUno().getPuntaje())){
			return this;
		}else{
			if ( (this.getCartaUno().getPuntaje()) < (unTrio.getCartaUno().getPuntaje())){
				return unTrio;
			}
		}
		System.out.println("Trios empatados..."); //ver carta alta
		return null;
	}
	
	public Juego compararJuego(DoblePar unDoblePar){
		return this;
	}
	
	public Juego compararJuego(Par unPar){
		return this;
	}
	
	public Juego compararJuego(CartaAlta unaCartaAlta){
		return this;
	}

	public Carta getCartaUno() {
		return cartaUno;
	}

	public void setCartaUno(Carta cartaUno) {
		this.cartaUno = cartaUno;
	}

	public Carta getCartaDos() {
		return cartaDos;
	}

	public void setCartaDos(Carta cartaDos) {
		this.cartaDos = cartaDos;
	}

	public Carta getCartaTres() {
		return cartaTres;
	}

	public void setCartaTres(Carta cartaTres) {
		this.cartaTres = cartaTres;
	}

	public Juego compararJuego(Juego unJuego) {
		return unJuego.compararJuego(this);
	}

	public String queSos() {
		return "un Trio de " + this.getCartaUno().imprimirla() + " " + this.getCartaDos().imprimirla() + " " + this.getCartaTres().imprimirla() + "\n";
	}
}
